import type { PositionApplicationInfo } from "../../position/position-teacher/apis/type"

// 公司查询参数
export interface CompanyListQuery {
  /**
   * 公司名称（用于搜索）
   */
  keyword?: string

  /**
   * 行业类型
   */
  companyType?: number

  /**
   * 公司规模
   */
  companyScale?: number

  /**
   * 工作城市
   */
  workCity?: number

  /**
   * 公司状态：1-正常，0-禁用
   */
  status?: number

  /**
   * 当前页码
   */
  page?: number

  /**
   * 每页大小
   */
  size?: number
}

// 公司列表项
export interface CompanyItem {
  /**
   * 公司ID
   */
  companyId: number

  /**
   * 公司全称
   */
  companyName: string

  /**
   * 工作城市名称
   */
  workCity: string

  /**
   * 公司类型名称
   */
  companyType: string

  /**
   * 公司规模名称
   */
  companyScale: string

  /**
   * 联系人电话
   */
  contactPhone: string

  /**
   * 联系人邮箱
   */
  contactEmail: string

  /**
   * 发布人姓名
   */
  publishUserName: string

  /**
   * 发布人ID
   */
  publishUserId: number

  /**
   * 营业执照到期时间
   */
  expirationTime: string

  /**
   * 学期岗位数
   */
  termPositionCount: number

  /**
   * 学期招聘人数
   */
  termRecruitmentCount: number

  /**
   * 状态描述
   */
  status: string
}

// 公司分页列表
export interface CompanyPageList {
  records: CompanyItem[]
  total: number
  size: number
  current: number
  pages: number
}

// 公司详情请求
export interface CompanyDetailRequest {
  companyId: number
}

// 公司详情
export interface CompanyDetail {
  /**
   * 公司ID
   */
  companyId: number

  /**
   * 公司全称
   */
  companyName: string

  /**
   * 公司简称
   */
  shortName: string

  /**
   * 工作城市名称
   */
  workCity: string

  /**
   * 公司类型名称
   */
  companyType: string

  /**
   * 公司规模名称
   */
  companyScale: string

  /**
   * 公司地址
   */
  address: string

  /**
   * 联系人姓名
   */
  contactPerson: string

  /**
   * 联系人电话
   */
  contactPhone: string

  /**
   * 联系人邮箱
   */
  contactEmail: string

  /**
   * 营业执照注册号
   */
  licenseNo: string

  /**
   * 营业执照图片URL
   */
  licenseUrl: string

  /**
   * 公司简介
   */
  introduction: string

  /**
   * 发布人姓名
   */
  publishUserName: string

  /**
   * 营业执照到期时间
   */
  expirationTime: string

  /**
   * 公司标签
   */
  tags: string[]

  /**
   * 状态描述
   */
  status: string

  /**
   * 相关岗位列表
   */
  positionList: PositionApplicationInfo[]
}

// 公司创建/更新请求
export interface CreateOrUpdateCompanyRequest {
  /**
   * 公司ID（更新时需要）
   */
  companyId?: number

  /**
   * 公司全称
   */
  companyName: string

  /**
   * 公司简称
   */
  shortName: string

  /**
   * 行业类型
   */
  companyType: number | undefined

  /**
   * 工作城市
   */
  workCity: number | undefined

  /**
   * 公司规模
   */
  companyScale: number | undefined

  /**
   * 公司地址
   */
  address: string

  /**
   * 联系人姓名
   */
  contactPerson: string

  /**
   * 联系人电话
   */
  contactPhone: string

  /**
   * 联系人邮箱
   */
  contactEmail: string

  /**
   * 营业执照注册号
   */
  licenseNo: string

  /**
   * 营业执照图片URL
   */
  licenseUrl: string

  /**
   * 公司简介
   */
  introduction: string

  /**
   * 营业执照到期时间
   */
  expirationTime: string

  /**
   * 公司状态：1-正常，0-禁用
   */
  status?: number

  /**
   * 发布人ID
   */
  publishUserId?: number

  /**
   * 公司标签（可选）
   */
  tags?: string[]
}

// 选项项
export interface OptionItem {
  value: number
  label: string
}

// 公司选项
export interface CompanyOptions {
  workCityOptions: OptionItem[]
  companyTypeOptions: OptionItem[]
  companyScaleOptions: OptionItem[]
}

// 响应类型
export type CompanyDetailResponse = ApiResponseData<CompanyDetail>
export type CompanyListResponse = ApiResponseData<CompanyPageList>
export type CompanyOptionsResponse = ApiResponseData<CompanyOptions>
export type CreateOrUpdateCompanyResponse = ApiResponseData<{ success: boolean }>
